package com.tedu.springdemo.day01;

import org.springframework.beans.factory.FactoryBean;

/**
 * 建议：工厂模式，使用Spring自带，叫做Spring工厂
 *
 * 从工厂获取{网络连接类：load,ping,coon}
 *
 * Spring的写法
 *          1.实现接口FcatoryBean<类>
 *          2.实现接口的所有方法
 */
public class NetConSpringFactory implements FactoryBean<NetConnection> {

    //getObject() 生成对象的方法   用法：Spring容器调用此方法生成需要的对象
    public NetConnection getObject() throws Exception {
        NetConnection nc=new NetConnection();//网络连接类
        nc.load();nc.ping();nc.conn();
        return nc;
    }

    //getObjectType（） 获取对象类型的方法     用法：Spring容器调用此方法获取当前创建对象的类型
    public Class<?> getObjectType() {

        return NetConnection.class;
    }

    //isSingleton（） 获取对象是否是单例模式     用法：Spring容器调用此方法判断当前创建对象对象是否是单例模式
    //Spring 创建对象--默认 单例模式
    //id唯一（拿到的都是唯一的），当前有Spring多例模式
    public boolean isSingleton() {
        return true;
    }
}
